
/*--------------------------------------------------------------
## 7 Media
--------------------------------------------------------------*/

.media {
	position: relative;
	display: block;
	overflow: hidden;
	padding: 0;
	flex-shrink: 0;
	border-radius: inherit;
}

.media:after {
	content: "";
	display: block;
	padding-top: 100%;
}

.media:not(:first-child):not(:last-child):not(:only-child) {
	border-radius: 0;
}

.media-action {
	position: absolute;
	display: flex;
	align-items: center;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
	z-index: 3;
}

.media-action.active {
	opacity: 1;
}

.media-content {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	border: 0;
	border-radius: inherit;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-color: rgba(120, 120, 120, 0.03);
}

.media-loading {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.media-content img {
	display: block;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.media-21x9:after {
	padding-top: 42.857143%;
}

.media-16x9:after {
	padding-top: 56.25%;
}

.media-4x3:after {
	padding-top: 75%;
}

.media-2x3:after {
	padding-top: 150%;
}

.media-3x2:after {
	padding-top: 66.66666%;
}

.media-3x4:after {
	padding-top: 133.33333%;
}

.media-1x2:after {
	padding-top: 200%;
}

.media-2x1:after {
	padding-top: 50%;
}

.media-3x1:after {
	padding-top: 33%;
}

.media-4x1:after {
	padding-top: 25%;
}

.media-9x16:after {
	padding-top: 177.77778%
}

.media-9x19:after {
	padding-top: 216.66667%
}

.media-1-4:after {
	padding-top: 25vh;
	min-height: 10rem;
}

.media-1-3:after {
	padding-top: 33vh;
	min-height: 12.5rem;
}

.media-1-2:after {
	padding-top: 50vh;
	min-height: 15rem;
}
/*--------------------------------------------------------------
## 24 Banner style
--------------------------------------------------------------*/

.banner-nextprev .swiper-button-next,
.banner-nextprev .swiper-button-prev {
	width: var(--swiper-navigation-size);
	color: var(--swiper-pagination-color);
	background-color: rgba(0, 0, 0, 0.2);
	border-radius: 100%;
	opacity: 0;
	visibility: hidden;
	transform-origin: 0 0 0;
	transition: all 0.3s ease-out 0s;
}

.banner-nextprev:hover .swiper-button-next,
.banner-nextprev:hover .swiper-button-prev {
	opacity: 1;
	visibility: visible;
}

.banner-nextprev:hover .swiper-button-next {
	right: 3%;
}

.banner-nextprev:hover .swiper-button-prev {
	left: 3%;
}

.banner-nextprev .swiper-button-next:hover {
	background-color: rgba(0, 0, 0, 0.5);
}

.banner-nextprev .swiper-button-prev:hover {
	background-color: rgba(0, 0, 0, 0.5);
}

.banner-nextprev .swiper-button-next:after,
.banner-nextprev .swiper-button-prev:after {
	position: relative;
	font-size: calc((var(--swiper-navigation-size) / 2.25));
}

.banner-nextprev .swiper-button-prev:after {
	left: -1px;
}

.banner-nextprev .swiper-button-next:after {
	left: 1px;
}

.banner-nextprev .swiper-button-next.swiper-button-disabled,
.banner-nextprev .swiper-button-prev.swiper-button-disabled {
	opacity: 0;
	visibility: hidden;
}

.banner-nextprev .swiper-pagination {
	display: flex;
	left: 50%;
	width: auto;
	padding: 0.375rem;
	border-radius: 3rem;
	transform: translateX(-50%);
	background-color: rgb(0 0 0 / 20%);
}

@media (max-width: 767.98px) {
	.index-banner .swiper-slide .media::after {
		padding-top: 50%;
	}
}
